package test;

// 对Main.java代码进行改写
//定义一个类Main01
public class 普通类转泛型 {

    

    //添加一个T入口
    //定义一个内部泛型类为MyArray
    public static class MyArray<T> {
        //定义一个Obect数组，并把Object改为对应的泛型
        
        //将Object全部替换成T
         //不能直接new一个T
        public T[] array= (T[])new Object[10];
        //定义类方法用于获取数组对应下标的元素
        public T getPos(int pos) {
            return array[pos];
        }


        //定义一个类方法用于设置对于数组下标的元素
        public void setPos(int pos, T val){
            this.array[pos]=val;
        }
    
        public static void main(String[] args) {
        //实例化一个MyArray对象
            MyArray<Integer> myArray= new MyArray<>();
        //从0下标开始设置数组属性
            myArray.setPos(0, 12);
            myArray.setPos(1, 13);
            myArray.setPos(2, 14);
        //获取数组对应下标元素并接收
            int ret=myArray.getPos(0);
            System.out.println(ret);
        // myArray.setVal(2, "bit"); 会报错，因为指定类型为Integer
        }
        
    
    }
}